A communication network may include network elements that route packets through the network. Some network elements may include a distributed architecture, wherein packet processing may be distributed among several subsystems of the network element (e.g., line cards, switches, bridges and traffic managers). In some instances, a network element used in a communication network may be a multi-function Ethernet aggregation network element. A multi-function Ethernet aggregation network element may be one which supports many functions, including without limitation link aggregation, hashing, and load balancing.
A multi-function Ethernet aggregation network element may include a distributed architecture including one or more line cards. A line card may comprise a modular electronic device that provides any suitable network communication functionality. For example, a line card may include, among other things, a switch (e.g., an Ethernet switch) for switching traffic through the network element and into a LAN and modules to process data such as frames or packets. The packets or frames may contain information such as source and destination address along with the data.
In addition, a multi-function Ethernet aggregation network element may include in its distributed architecture a bridge. A bridge may comprise a modular electronic device that provides any suitable network communication functionality. For example, a bridge may include, among other things, an Ethernet switch, ports and modules to process hash rules and addresses. The modules may contain processing resources and a memory configured to perform a hash rule that maps data received at ingress ports to output at egress ports. The modules may perform matching on any of the fields provided in a typical Ethernet packet at the ingress port to determine which egress port to map the data too. The data may also be flooded or multicast to all egress ports on the bridge. When data is flooded, packets incoming from one source are transmitted to multiple destinations coupled to the egress ports without duplication. The destinations often share a group address so that only the devices that want the data receive it. In addition, the line cards connected to the egress ports may match on the data intended for its network.
In many instances, communication networks may employ link aggregation. Link aggregation (e.g., IEEE 802.1AX-2008) may generally describe the practice of using multiple network cables or ports in parallel to increase the link speed beyond the limits of any one single cable or port, and to increase redundancy for higher availability. In link aggregation, a group or set of ports may be combined and represented as a single logical port to other components of the network system. Various switching elements of the network system may “see” the aggregated ports (known as a “link aggregation group” or “LAG”) as a single logical communication port in the routing tables or databases of network elements external to the LAG.
In addition, to ensure high reliability and availability in communication networks, load balancing is often used. When implemented, load balancing typically provides for effective utilization of bandwidth for the network. In load balancing, the data stream at the ingress port is divided and transmitted on multiple ports in the LAG at the egress port. Since each LAG may have a unique line rate and a unique number of ports, load balancing may be managed based on the these variables. The management of the load balancing may be performed in the Ethernet bridge by a hash rule performed on the member ports of the LAG. However, in today's networks the load balancing and hashing may only be performed when the traffic egresses the LAG, which may contain several number of ports.
However, if the communication network such as the one described above is acting as a provider bridge, the same hash rule cannot be applied to traffic of different customers as the characteristics of each customer traffic egressing on same LAG may be unique. The traffic may be uniquely identified by customer Virtual Local Area Network (VLAN) IDs as described in IEEE 802.1ad. The customer traffic has to be hashed at the ingress itself with a single hash-rule applied for that flow. However, traffic from each customer must often be hashed with different rules. In addition, the unique customer traffic may be flooded under the same Provider VLAN. The Provider VLAN may have multiple LAGs with each of them containing a different number of LAG ports. In this situation, it is difficult to hash at ingress and correctly map the actual LAG port at the egress when traffic is flooding. In addition, a provider bridge may have thousands of LAGs to manage within a flooding domain. If the provider bridge can only hash and port map at the ingress, this would require each ingress to comprehend all LAGs interface information. This requires complex software to configure, manage and maintain the provider bridge.